Особенности работы с составным типом в поле ввода

Обновлено: 17.04.2008

Часто возникают ситуации, когда редактировать с помощью поля ввода нужно данные нескольких типов. Поле ввода поддерживает такую возможность. В таких случаях особенностью поведения поля ввода является то, что поле ввода работает в двух режимах:

1) Тип редактируемого значения не выбран.
2) Тип редактируемого значения выбран.

Первый режим работы поля ввода легко узнать по наличию кнопки с буквой "Т" (). В этом режиме в поле ввода нельзя редактировать какие-либо данные, не работает ввод с клавиатуры, невозможен ввод по строке (т.к. непонятно, как интерпретировать введенный текст, поскольку неизвестен тип редактируемых данных) и т.п. Единственное, что можно сделать в поле ввода - выбрать нужный тип редактируемого значения. Сделать это можно, нажав на кнопку "Т" поля ввода или на клавишу F4.

После нажатия на кнопку "Т" открывается диалог выбора типа, в котором можно выбрать нужный тип данных. Как только в этом диалоге тип выбран и нажата кнопка "OK", поле ввода переходит во второй режим работы.

Второй режим работы поля ввода ничем не отличается от ситуаций, когда в поле ввода редактируются только данные одного типа. Исключение составляет лишь поведение поля ввода при очистке значения, которое можно выполнить с помощью нажатия на кнопку очистки или нажав комбинации клавиш Shift + F4. В случае очистки значения в поле ввода, поле ввода не просто очищает значение, но и переходит в первый режим работы.

Все поведение поля ввода по редактированию значений во втором режиме работает в полном объеме. В том числе работает и ввод по строке, поскольку теперь известно, как введенную строку можно интерпретировать (например, искать ли по ней записи в каком-либо справочнике, или может быть нужно подбирать по тексту одно из значений перечисления).

Пример. Пусть у нас есть справочник "Продукты", описывающий наименование продуктов и вид продуктов. Вид продуктов хранится в этом справочнике в виде реквизита с составным типом данных: строка и перечисление, описывающее вид продуктов. Форма для ввода и редактирования элементов справочника выглядит так:

На рисунке видно, что в поле ввода "Вид" есть кнопка "Т": в поле ввода можно редактировать значения разных типов, а конкретный тип еще не выбран. При вводе какого либо текста в поле ввода "Вид" невозможен.

Перейдем теперь в поле ввода вид и нажмем на кнопку "Т" или клавишу F4: откроется диалог выбора типа:

Выберем в качестве типа данных тип "Вид продуктов" и нажмем кнопку "OK". Внешний вид поля ввода "Вид" станет теперь другим:

Мы видим, что кнопка "Т" теперь заменилась на кнопку , что говорит нам о том, что теперь в поле ввода выбран конкретный тип для редактируемого значения и редактирование возможно в полном объеме.

Значение в поле ввода "Вид" теперь можно ввести как с клавиатуры, так и с помощью нажатия на кнопку выбора или клавишу F4.  Попробуем теперь убедиться, что работает ввод по строке в поле ввода: введем в поле ввода "Вид" слово "фр", желая ввести вид продукта "фрукты":

Мы видим, что ввод по строке успешно сработал и после введенного текст дописалось окончание слова "укты".

Попробуем теперь в поле ввода "Вид" ввести другое значение с помощью нажатия на кнопку выбора или клавиши F4:

Мы видим, что открылся выпадающий список со всеми имеющимися видами продуктов. В этом списке мы можем выбрать любой нужный нам вид продукта.

Посмотрим теперь, как работает очистка значения в поле ввода "Вид". Для этого нажмем в нем на кнопку или комбинацию клавиш Shift + F4:

Мы видим, что теперь опять в поле ввода появилась кнопка "Т" (). Это говорит о том, что теперь опять не выбран тип, значение которого будет редактироваться в поле ввода.